#ifndef MAINWINDOW_H
#define MAINWINDOW_H

/*****************************************************************************************
  @copyright  2020-2021
  @date       2021-02-22
  @author     qiaowei
  @contact    weiweiqiao@126.com
  @version    1.0
  @brief      主窗体
  @history
      @date    20210222
      @author  qiaowei
      @brief   增加init_widgets方法，初始化控件
               增加init_connections方法，初始化信号槽

      @date    20210223
      @author  qiaowei
      @brief   增加manager_变量，接收用户操作，将操作分发给不同类处理
               增加track_data_model_变量，存储航迹数据
******************************************************************************************/

#include <QMainWindow>
#include <QThread>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class QMenu;
class QAction;
class File_manager;
class Track_data_table_model;
//class Track_data_table_model_02;
class Flight_track_stage;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    /***************************************************************************
     @date     2021-02-25
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @brief    初始化控件
    ***************************************************************************/
    void init_widgets();

    /***************************************************************************
     @date     2021-02-25
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @brief    初始化信号槽
    ***************************************************************************/
    void init_connections();

private slots:
    void collect_filters();

private:
    Ui::MainWindow *ui;

    /***************************************************************************
     @date     2021-02-25
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @brief    操作功能变量，接收用户操作，将操作分发给不同类处理
    ***************************************************************************/
    File_manager* manager_;

    /***************************************************************************
     @date     2021-02-25
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @brief    模型变量，存储航迹数据
    ***************************************************************************/
    Track_data_table_model* track_data_model_;

//    Track_data_table_model_02* track_data_model_02;

    Flight_track_stage* track_stage_;

    QMenu* file_menu_;
    QAction* open_file_action_;
    QAction* split_data_action_;
    QAction* exit_action_;
};
#endif // MAINWINDOW_H
